package com.xjprojectc.uitl;

import java.util.HashMap;
import java.util.Map;


@SuppressWarnings("unchecked")
public class AppContext {
	
	/**
	 * 配置文件
	 */
	public final static  String RESOURCE_PATH = "/conf/resource.properties";
	
	/**
	 * WEB端口号
	 */
	public final static  String HTTP_POART = "http_poart";
	
	/**
	 * 电信充值密码
	 */
	public final static  String TELECOMPMPW = "telecompmpw";
	
	/**
	 * 移动接口工号
	 */
	public final static  String MOBILENO = "mobileno";

	// 当前登录用户的标示
	public static final String CERRENT_SESSION_USER = "CERRENT_SESSION_USER";
	public static final String CERRENT_SESSION_USER_NAME = "CERRENT_SESSION_USER_NAME";
	public static final String CERRENT_SESSION_USER_PWD = "CERRENT_SESSION_USER_PWD";
	public static final String CERRENT_SESSION_USER_LIST = "CERRENT_SESSION_USER_LIST";
	public static final String CERRENT_SESSION_TYPE = "CERRENT_SESSION_TYPE";
	public static final String ISSTARTSMSSERVER =  "isStartSmsServer";
	

	// 分页的每页记录数
	public static final int PAGE_SIZE = 30;

	// 基本的数据库操作的创建（Create）、更新（Update）、读取（Read）和删除（Delete）操作
	public static enum CURD_OPER_TYPE {
		SAVE, UPDATE, SELECT, DELETE
	}

	// 基本的数据库操作结果 0 失败 1 成功
	public static int CURD_RESULT_FAILURE = 0;
	public static int CURD_RESULT_SUCCESS = 1;


	/**
	 * <code>
	 * 是否记录审计日志
	 * 即是否通过Hibernate的拦截器记录对对象的保存、修改、删除日志。
	 * 能记录审计日志的对象需要满足的条件：
	 * 		1.继承AuditableEntity，标示该对象可以被审计
	 * 		2.该对象的主键对应的字段必须为id，便于记录审计日志时获取对象的主键值。AuditableEntity继承于IdEntity，
	 * 			IdEntity定义了子类必需的id属性。当采用注解的方式做对象、数据库映射时可在IdEntity统一配置主键的生成策略
	 * 			具体可参见 SpringSide3.3.*里面的例子。
	 */
	public static boolean isWriteAuditLog = true;
	/**
	 * <code>
	 * 是否对用户密码采用MD5加密
	 */
	public static boolean encodingPassWord = false;
	/**
	 * 网络运营商
	 */
	public static  Map NETWORK_OPERATORS = new HashMap<Integer, String>();
	
	/**
	 * 短信猫端口模式
	 */
	public static  Map PORTMODEL = new HashMap<Integer, String>();
	
	/**
	 * 地区级别
	 */
	public static  Map REGIONALISM_LEVEL = new HashMap<Integer, String>();
	
	
	/**
	 * 缴费方式
	 */
	public static  Map RECHARGE_MODE  = new HashMap<Integer, String>();
	
	/**
	 * 
	 * 日志操作类型
	 * 
	 */
	public static  Map BEHAVIOR_TYPE = new HashMap<Integer, String>();
	
	/**
	 * 系统业务
	 */
	public static  Map BUSINESS = new HashMap<Integer, String>();
	
	static{
		NETWORK_OPERATORS.put(1, "中国电信");
		NETWORK_OPERATORS.put(2, "中国移动");
		NETWORK_OPERATORS.put(3, "中国联通");
		NETWORK_OPERATORS.put(4, "中国铁通");
		NETWORK_OPERATORS.put(5, "中国网通");
		NETWORK_OPERATORS.put(6, "其他");
		
		PORTMODEL.put(1, "短信发送");
		PORTMODEL.put(2, "短信充值");
		
		REGIONALISM_LEVEL.put(1, "省");
		REGIONALISM_LEVEL.put(2, "地区");
		REGIONALISM_LEVEL.put(3, "县/市");
		
		RECHARGE_MODE.put(1, "短信猫");
		RECHARGE_MODE.put(2, "运营商接口");
		
		BEHAVIOR_TYPE.put(1, "用户登录、鉴别");
		BEHAVIOR_TYPE.put(2, "增加、修改、删除");
		BEHAVIOR_TYPE.put(3, "短信猫");
		BEHAVIOR_TYPE.put(4, "webservice连接操作");
		BEHAVIOR_TYPE.put(5, "系统任务");
		
		
		BUSINESS.put(1, "电信充值");
		BUSINESS.put(2, "移动充值");
		BUSINESS.put(3, "联通充值");
	}
}
